/*
* Copyright (C) 2015 Pedro Paulo de Amorim
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.github.ppamorim.cult.util;


import ohos.agp.components.Component;
import ohos.global.configuration.DeviceCapability;
import ohos.global.resource.ResourceManager;
import ohos.global.resource.WrongTypeException;
import ohos.global.resource.solidxml.TypedAttribute;
import ohos.global.systemres.ResourceTable;
import ohos.nfc.cardemulation.CardEmulation;

/**
 * This class provide some helpers to
 * instantiate the CultView correctly
 *
 * @author Pedro Paulo Amorim
 *
 */
public class ViewUtil{

  public static int dpToPx(ResourceManager resources, float dp) throws WrongTypeException {
      return (int) TypedAttribute.computeFloatValue(String.valueOf(dp),
              resources.getConfiguration(),resources.getDeviceCapability());
  }

  public static boolean isViewHit(Component viewParent, Component view, int x, int y) {
    int[] viewLocation =view.getLocationOnScreen();
    int[] parentLocation = viewParent.getLocationOnScreen();
    int screenX = parentLocation[0] + x;
    int screenY = parentLocation[1] + y;
    return screenX >= viewLocation[0]
            && screenX < viewLocation[0] + view.getWidth()
            && screenY >= viewLocation[1]
            && screenY < viewLocation[1] + view.getHeight();
  }

}
